package com.project.controller;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.project.bean.ProductBean;
import com.project.service.IProductService;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * 商品控制器
 */

@RestController
@RequestMapping("product")
@RequiresPermissions("product:am")
public class ProductController {
    @Autowired
    private IProductService productService;
    @RequestMapping("cutProductByItem")
    public IPage<ProductBean> cutProductByItem(Integer pageNO, String productName, String classes, Integer startNum, Integer endNum, String sellPrice){
        return productService.cutProductByItem(pageNO, productName, classes, startNum, endNum, sellPrice);
    }

    /**
     * 通过输入的商品名称、类别动态条件，分页查询商品信息
     * @param pageNO 页码
     * @param productName 商品名称
     * @param classes 类别
     * @return 分页对象
     */
    @RequestMapping("cutProductPriceByItem")
    public IPage<ProductBean> cutProductPriceByItem(Integer pageNO,String productName,String classes){
        return productService.cutProductPriceByItem(pageNO, productName, classes);
    }

    /**
     * 通过库存商品id查询库存商品对象
     * @param productId 库存商品id
     * @return 商品对象
     */
    @RequestMapping("findProductById")
    public ProductBean findProductById(Integer productId){
        return productService.findProductById(productId);
    }

    /**
     * 通过库存商品id修改销售价格
     * @param productId 库存商品id
     * @param newSellPrice 新销售价
     */
    @RequestMapping("updateSellPrice")
    public String updateSellPrice(Integer productId,Integer newSellPrice){
        productService.updateSellPrice(productId, newSellPrice);
        return "ok";
    }
}
